import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';

/// 直接通过`类名称`访问里面的方法，方法为 静态方法
/// 所有单位为 px
class ScreenAdapter {
  static init(context) {
    /// 设计稿 --- 宽/高
    /// Size 设置适配尺寸 (填入设计稿中设备的屏幕尺寸) 此处假如设计稿是按iPhone6的尺寸设计的(iPhone6 750*1334)
    /// allowFontScaling  是否根据系统的“字体大小”辅助选项来进行缩放(可在初始化ScreenUtil时设置allowFontScaling)
    ScreenUtil.init(context,
        designSize: Size(750, 1334), allowFontScaling: true);
  }

  /// 适配字体大小  根据系统的“字体大小”辅助选项来进行缩放
  static sp(double value) {
    return ScreenUtil().setSp(value, allowFontScalingSelf: true);
  }

  /// 适配高度
  static height(double value) {
    return ScreenUtil().setHeight(value);
  }

  /// 适配宽度
  static width(double value) {
    return ScreenUtil().setWidth(value);
  }

  /// 获取设备的像素密度
  static pixelRatio() {
    return ScreenUtil().pixelRatio;
  }

  /// 获取屏幕高度 (sdk>=2.6 : 1.wp)
  static screenHeight() {
    return ScreenUtil().screenHeight;
  }

  /// 获取屏幕高度 (sdk>=2.6 : 1.wp)
  static screenWidth() {
    return ScreenUtil().screenWidth;
  }

  ///  获取底部安全区距离，适用于全面屏下面有按键的
  static bottomBarHeight() {
    return ScreenUtil().bottomBarHeight;
  }

  ///  获取状态栏高度 刘海屏会更高  单位px
  static statusBarHeight() {
    return ScreenUtil().statusBarHeight;
  }

  ///  获取系统字体缩放比例
  static textScaleFactor() {
    return ScreenUtil().textScaleFactor;
  }
}
